Synchronized time is critical in the motion control and other industries as companies continue to develop systems and methods for obtaining higher degrees of device interoperability. This is significant for companies that employ distributed motion control applications requiring tight time synchronization between system devices. This need for higher performance applications is coupled with the necessity for synchronizing clocks across a distributed network (e.g., Ethernet). Every aspect of managing, securing, planning and troubleshooting a network system can involve determining when events happen. High-performance motion control networks demand tightly managed, real-time synchronization across multiple axes. Test, measurement, and control systems can involve the exchange of information between devices, such as controllers, sensors and actuators and proper operation of these systems requires that the associated time interactions of the various devices be understood. The Ethernet has been employed in industrial automation systems in part resulting from its ease of use. The basic structure has not changed a great deal since its inception and faster technologies such as Fast Ethernet and Gigabit Ethernet have increased the choices available in planning and designing these systems at an enterprise level.
Various protocols exist for defining how to distribute time across a set of distributed devices, such as American Inter Range Instrumentation Group (IRIG-B), Network Time Protocol (NTP), Telecommunications Working Group (TCWG), Global Positioning System (GPS), etc. All of these protocols provide different quality of time coordination. The IEEE 1588 standard Precision Time Protocol (PTP) was developed to synchronize independent clocks running on a distributed control network to a high degree of accuracy and precision (e.g., measurement and control devices). Utilizing IEEE 1588, allows clock synchronization to the sub-microsecond (nanosecond) range, however, an underlying requirement is that each machine control system must have a precise and stable clock. Existing time synchronization protocols such as NTP and SNTP do not achieve a high level of synchronization accuracy or convergence speed.
The PTP protocol generates a master slave relationship among clocks in a system and within a given subnet of a network there will be a single master clock. One clock on each subnet in the system is selected as the master clock. This selection can be made by the other subnet clocks by examining information contained in special timing messages termed sync (or synchronization) messages. A sync message is sent periodically by any port associated with the clock claiming to be the master clock, and all ports use an algorithm to evaluate the sync message, termed the best clock algorithm. If a port of a master clock receives a sync message from a better (e.g., more accurate) clock, then that port will cease to be the master clock and that receiving port will assume the status of a slave port. Likewise the clock with the now designated slave port acts as a slave clock and ultimately all of the aforementioned clocks on the network derive their time from the grandmaster clock (the best master clock).
Today's time synchronization protocols, including the IEEE 1588, are not without deficiencies with respect to step changes in time. In particular, those protocols do not account for step changes in the master clock, (e.g., the clock is changed manually, the clock loses the time reference satellite for a given time period, etc.). Any step change seen by the master clock will also be seen by the associated slave clocks and this makes it difficult for the system to perform certain control functions. For example, a step change taking place between two events, which occurred at the same instant in time, could be seen by two independent clocks as occurring at two different times. In yet another example, if step change occurred between two occurrences of the same event it would be difficult to calculate the interval between the two events.
Furthermore, there is a trend in the motion control industry to make the control of information from control subsystems up to the enterprise level as seamless as possible. In order for that information to be of the highest value to the business, it has to allow everyone to have the same meaning or reference with respect to time. In yet another example, when a failure occurs in high speed or unsupervised machinery it is difficult or nearly impossible to tell how the failure occurred without an understanding of the absolute time of the machinery. There may be a large number of faults that have occurred and the only way for the enterprise to know which fault caused the failure is to look at the timestamps of the fault events (e.g., did the packaging machine or the conveyor shut down first?). In other words, even if events were timestamped using one of the aforementioned protocols, the timestamps may not be correct due to step changes in the system time.
Determining real-world time is critical for many applications such as pharmaceutical applications, for example, where regulatory requirements dictate that process steps be timed (e.g., heating, mixing, compression time, time involved in adding ingredients, etc.). Step changes in a master clock may result in having to discard otherwise high-quality product if those step changes that occurred can not be determined accurately. In addition, systems or networks are often made up of equipment from various manufacturers and in many instances each manufacturer can have its own specific time logging system, further compounding time synchronization problems.
In many sophisticated motion control systems, the system is often controlling devices so that the devices operate in a synchronized manner. Some examples include the controlling of the position of multiple motors shafts at a point in time, a pick and place operation where the conveyor linear rate is timed to coincide with the robot picking up a part off the conveyor, one robot grasping a panel just before the other robot releases the panel, etc. All of these systems can have various outcomes if a step change is introduced into the system time and the equipment becomes out of synchronization. In one application, printing newspapers, the outcome can be, for example, printing misalignment, colors not looking right, paper being torn, etc. In a steel rolling application the consequence may be much worse, resulting in motor failures, premature wear, roller damage, total equipment failure, costly machine rebuilding, etc.
Therefore, there is a need to overcome the aforementioned as well as other deficiencies associated with conventional systems and devices and time synchronization.